home *** CD-ROM | disk | FTP | other *** search
/ Cracking 1 / Cracking I..iso / Tools / Ostatní / aPLib v0.26b / examples / 16bit / HISTORY.TXT < prev    next >
Encoding:
Text File  |  2001-12-15  |  16.8 KB  |  379 lines

  1. Porting aPLib decompresion routines by Jibz to 16 bits by METALBRAIN
  2.  
  3.         I haven't Internet conexion at home, so I can only connect from my
  4.   University from Monday to Friday (only a short while in the morning, except
  5.   Mondays, when I can also connect from 14:00 to 16:00), and some weekends
  6.   from a friend's house (in summer is much worse).
  7.  
  8.  
  9. 28-10-98   to  12-10-98
  10.         I wanted to use aPLib v0.17b in my small game KOM, but all code is 32
  11.   bit, and KOM is a 16 bit project, so after several failing tests, I started
  12.   writing 16 bit version of NASM assembly routines, cleaning all C connection
  13.   protocol code and replacing string instructions and those that accessed
  14.   memory through [esi] and [edi] with 16 bit emulation routines. I started
  15.   putting them in smalls programs with fixed names for infile and outfile.
  16.   After fixing a bug, they started to work. Then I got aPLib v0.18b, and
  17.   updated my routines, and kept improving my test programs. Then finally
  18.   came out aPlib v0.19b, so I updated my routines once again, and started to
  19.   work more seriously, in order to offer my 16 bit port to Jibz.
  20.  
  21. 14-11-98    Saturday
  22.         Finally write a depacker capable of reading filenames from arguments.
  23.   Infile can't be greater than 64Kb, and no test is made about memory, so if
  24.   outfile is too big, it could collapse memory. My deppacker broke a file,
  25.   and I couldn't find any bug on it. I made some tests and found out a bug in
  26.   aPPACK itself. Oops. It also happens to previous versions. Jibz must be
  27.   informed about it...
  28.  
  29. 15-11-98    Sunday
  30.         Cleaned the code a bit, eliminating some redundances.
  31.  
  32. 16-11-98    Monday >
  33.         I send Jibz first version of DEPACK and DEPPACK (948 bytes), and
  34.   also tell him about aPPACK bug.
  35.  
  36. 20-11-98  > Friday
  37.         I got response from Jibz. He has found a bug in my routines, and he
  38.   has optimized both DEPACK and DEPPACK a lot. I look at his code and feel
  39.   really dumb. Some optimizations are so obvious...
  40.  
  41. 22-11-98    Sunday
  42.         I make first version of DEPPTINY. It's the same that DEPPACK, but
  43.   without error nor usage messages. My first goal was to make it under 700
  44.   bytes (that was the size of the tinyest decompressor I knew before mine
  45.   arrived), and as firstly I got it in 519, I played a bit to make it under
  46.   512 bytes (just one diskette sector). It ends up being 507(?) bytes long.
  47.  
  48. 23-11-98    Monday >
  49.         I send Jibz first version of DEPPTINY (507). At home I start coding
  50.   next DEPPACK version, featuring use of all available memory to be able to
  51.   uncompress any file which fits in low memory.
  52.  
  53. 24-11-98  > Tuesday
  54.         Jibz sent me a very optimized version of DEPPTINY (437). I can't
  55.   believe my eyes. He wiped away 70 bytes!. I'm really amazed. And code is
  56.   also cleaner, as he removed my dirty self-modifying code trick. I study his
  57.   optimizations. Curious. He got rid of most variables. I look at the code
  58.   and I'm able to clean 6 bytes from it. Now I feel great, my spirit rises
  59.   and continue coding v0.2 of DEPPACK, but I can't get it working.
  60.  
  61. 25-11-98    Wednesday >
  62.         I send Jibz my optimization of DEPPTINY (431) and I asked him about
  63.   my problem (thought I wasn't too clear about it). In the evening I study
  64.   the code debugging it and fix my problem alone, with another dirty
  65.   self-modifying trick.
  66.  
  67. 26-11-98  > Thursday >
  68.         I recieve Jibz's last work on DEPPTINY. I send him the very first
  69.   version of DEPPACK v0.2 . At home, I look his DEPPTINY. Incredible!. He
  70.   did it again! He killed 32 more bytes, leaving it in 398. Now some
  71.   optimizations are really weird (such as order modification), but they work
  72.   perfectly.
  73.  
  74. 27-11-98    Friday   to   29-11-98  Sunday
  75.         I port some optimizations from last DEPPTINY to DEPPACK. I think
  76.   he'll send me something next Monday, so I put NASM, aPACK, and some test
  77.   files in my diskette, together with last DEPPACK.
  78.  
  79. 30-11-98  > Monday >
  80.         As I expected, Jibz has played with DEPPACK v0.2, optimizing it (he
  81.   cleaned 3 bytes from DEPACK core) and has eliminated my self-modifying
  82.   part (he really seems to hate them), but he hasn't implemented
  83.   optimizations from last DEPPTINY, leaving them to me. Easy work, as it was
  84.   already done. I spent half an hour with it and apply his last optimizations
  85.   on my last version of DEPPACK (876), and send it back to him.
  86.  
  87.  1-12-98    Tuesday
  88.         I apply the optimization of the core to DEPACK and DEPPTINY. Works
  89.   perfectly, and now it's only 395.
  90.  
  91.  4-12-98    Friday
  92.         I haven't recieved nothing yet, but I can see in his page that he's
  93.   working in aPLib v0.20b. A long weekend awaits me, because there's no
  94.   class next Monday and Tuesday.
  95.  
  96.  6-12-98  > Sunday >
  97.         I spent morning with a friend, and I could connect a little while.
  98.   The response was there, so I took it. He tells me he's porting my routines
  99.   to 16 bit C compilers, Borland ones are working and others are on the way.
  100.   In the afternoon I look carefully last optimizations applied to DEPPACK
  101.   (871): very instructive. They save a lot of bytes to uncompressed program,
  102.   but after compresion he only won 6 bytes. I feel inspired and remove 7
  103.   bytes to uncompressed program, that become a gain of 16 bytes after aPACK
  104.   compression. I feel very proud because one of the bytes I've killed was
  105.   inside DEPACK core, so in the evening I send Jibz the whole pack from
  106.   other friend's home: DEPACK, DEPPACK (855) and DEPPTINY (394). I thought
  107.   they were going to be last optimizations before aPLib v0.20b release, but
  108.   I was completly wrong.
  109.  
  110. 14-12-98    Monday
  111.         I've finished classes today, and there's been no feedback from Jibz
  112.   yet, but I must go to University on Wednesday and Friday. Managed to cut
  113.   2 bytes from DEPPTINY.
  114.  
  115. 15-12-98    Tuesday
  116.         Got an idea: Cleaned 4 bytes from DEPPTINY and 2 from DEPPACK.
  117.  
  118. 16-12-98    Wednesday >
  119.         Got another idea: Cleaned 2 bytes from DEPACK core, so I send him
  120.   again the whole package: DEPACK, DEPPACK (851), and DEPPTINY (386), not
  121.   knowing if it will be there in time or not...
  122.  
  123. 18-12-98    Friday
  124.         Went to University, but computer rooms where closed. AAAAAARGH!
  125.  
  126. 20-12-98  > Sunday
  127.         Finally could connect, and catch Jibz's response. A new smaller
  128.   version of aPACK leaves DEPPACK in 815 bytes. Great! I cut 4 more bytes
  129.   from DEPPTINY and 2 from DEPPACK. Start coding DEPPACK 0.3b, capable of
  130.   decompressing files of any size. I thought that "57300 bytes lookback"
  131.   meant that only 57300 previous bytes were needed to unpack, but it I tried
  132.   to use 64K and it didn't work at all. I spent the night trying to find
  133.   bugs, and was not sure if it was possible to do what I wanted to do. At
  134.   5 a.m., tired and frustraded I leave it for impossible.
  135.  
  136. 21-12-98    Monday
  137.         I debug the depacking of some files to see the values it can take.
  138.   I set the limit in 128K and finally progressive-write got running! I make
  139.   progressive-read (much easier), and test the resultant DEPPACK v0.3 in
  140.   some extreme files. I fix some bugs and down the limit to 96K, and it
  141.   still works. I make the DEPPTINY v0.3 from this, but it's too big, and
  142.   can't get it under 512 bytes, so I'm leaving it with 582 bytes.
  143.  
  144. 22-12-98    Tuesday
  145.         I clean the code a little, eliminate all self-modifying parts and
  146.   optimize a bit. As DEPPTINY v0.3 can't fit a diskette sector, I make
  147.   DEPPTINY v0.2, and it's 439 bytes long (the old 382 bytes long DEPPTINY
  148.   was still first version, with 64K infile limit).
  149.  
  150. 23-12-98    Wednesday >
  151.         Fixed one small bug. I'll send him new versions of DEPPACK v0.3
  152.   and DEPPTINY v0.2 and v0.3
  153.  
  154.  7-01-99    Thursday
  155.         Back to classes, computer rooms closed due to remote-boot server
  156.   is down. I wanna check mail!
  157.  
  158. 12-01-99  > Tuesday
  159.         I see a quite old message, he has managed to cut the size of
  160.   DEPPTINY v0.3 down to 550 bytes. Maybe it's possible to fit under 513
  161.   bytes, but still I doubt it. He also sent me a pre-release BETA of
  162.   aPACK.
  163.  
  164. 13-01-99    Wednesday >
  165.         As I found a bug on tested aPACK, I wrote Jibz about it and telling
  166.   him I'm about to start my exams, so he shouldn't wait for my new DEPPTINY
  167.   version to release aPLib.
  168.  
  169. 15-01-99  > Friday >
  170.         aPLib 0.20b has finally been released. Jibz has adapted my code to
  171.   his syntax, and re-added the C conexion parts. No problem about it, after
  172.   all, aPLib is HIS product, and this way the format is more regular.
  173.   There's also a TASM version which work with BC. Examples still almost
  174.   unchanged, he just updated the date from 1998 to 1998-99
  175.         But to my nasty surprise, the adapted routines are outdated, and my
  176.   last core optimizations (3 bytes) were not added. I add them and also short
  177.   some jumps in TASM version. I send corrections to him, but I'm not sure if
  178.   he'll update it in v0.20b or in next release...
  179.  
  180. 17-01-99    Sunday
  181.         Can't resist the temptation. Take a look on DEPPTINY. Kill 9 bytes.
  182.   Now it's 541.
  183.  
  184. 18-01-99    Monday >
  185.         Send new DEPPTINY to Jibz.
  186.  
  187. 19-01-99  > Tuesday
  188.         AAAAARRGH! He did it! Managed to reduce 29 bytes, leaving DEPPTINY
  189.   with 512. Hurra! The only-one diskette sector size has been reached! This
  190.   guy is really incredible... And core size has been reduced 5 more bytes...
  191.  
  192. 27-01-99    Wednesday
  193.         Oooops! DEPPTINY is buggy... It seems that last optimizations where
  194.   a little bit too agressive. Urg! it's my fault!!!. It was my last 9 bytes
  195.   killed!. Can't believe it and can't understand why it fails. Let's debug
  196.   it... Ok I found my bug. Hop! Fixed. No penalty bytes. It's still 512.
  197.  
  198. 28-01-99    Thursday >
  199.         Send bugfixed DEPPTINY to Joergen.
  200.  
  201. 15-02-99    Monday
  202.         It has taken me three months to realize that DEPPACK and DEPPTINY
  203.   were supporting drives and paths from the begining, despite what DEPPACK
  204.   says in the usage message. How could I be SO stupid.
  205.  
  206. 23-02-99    Tuesday
  207.         Started porting last DEPPTINY optimizations to DEPPACK. It's getting
  208.   harder than I thought. Killed 1 byte on DEPPTINY > 511.
  209.  
  210. 24-02-99    Wednesday >
  211.         Send the 511 one... Instead of looking to all optimizations and put
  212.   and adapt the ones I can to DEPPACK, I've grown a new DEPPACK from last
  213.   DEPPTINY, adding the error messages, but it can't handle "bad infile"
  214.   detection as it was done with previous DEPPACK. It fails on the same way
  215.   of DEPPTINY, and I'm not sure why DEPPTINY fails anyway... It's driving
  216.   me insane!!!
  217.  
  218. 25-02-99    Thursday >
  219.         Send the new non perfect DEPPACK to Jibz. Let's see if he can find
  220.   something about the mysterious bug.
  221.  
  222.  1-03-99    Monday
  223.         Kill another byte from DEPPTINY > 510. Gonna test it. Arg! Another
  224.   pretty bug! Let's see... DEPPACK works right... 512-DEPPTINY works right
  225.   511-DEPPTINY fails... Strange. Oh, now I've seen it... Bugfixed. Ported
  226.   the 5 bytes core optimizations to DEPACK16 routines, and cleaned 3 bytes
  227.   from C connection part from them.
  228.  
  229.  3-03-99    Wednesday >
  230.         Send the bugfixed 510 DEPPTINY.
  231.  
  232.  8-03-99    Tuesday >
  233.         Removing those 3 bytes from C connection part wasn't such a good
  234.   idea, but 1 of them at least can be safely removed. Re-send the non
  235.   perfect DEPPACK.
  236.  
  237.  9-03-99  > Wednesday
  238.         Jibz spent 3 bytes to make DEPPTINY a bit safer (it was assuming
  239.   that high part of ESP was always 0), and removed 6 more bytes from it.
  240.   Now it's only 507, and better than previous ones. I think we could also
  241.   spend one more byte to clear the direction flag, leaving it with 508.
  242.  
  243. 11-03-99    Friday >
  244.         Send the 508 one and this updated history till the entry before this
  245.   one :-)
  246.  
  247. 16-03-99    Tuesday
  248.         Ported the last optimizations to my own C-less version of DEPACK16.
  249.   Started to look again at DEPPACK. Let's start from old DEPPACK instead of
  250.   growing it from DEPPTINY. I'm checking the good behaviour of the whole
  251.   thing with every bit changed. It's a really frustrating job.
  252.  
  253. 17-03-99    Wednesday
  254.         I've isolated 3 test versions of DEPPACK, one of them detects the
  255.   "bad infile" in the test file, another gives always the same result and
  256.   the last one produces different results depending of previous memory
  257.   state. Still I can't understand why it happens.
  258.  
  259. 18-03-99    Thursday >
  260.         Send the test files to Jibz. Let's see if we can find out what the
  261.    hell is happening together.
  262.  
  263. 21-03-99    Sunday
  264.         I've finally find out a possible solution (with expensive 9 bytes
  265.    fix) to detect bad infiles. Seems to work well. Ported it to the "grown
  266.    from DEPPTINY" one.
  267.  
  268. 22-03-99    Monday >
  269.         Send the fix to Jibz.
  270.  
  271. 24-03-99    Wednesday
  272.         Ported the fix to DEPPTINY, removing another test to keep it under
  273.   512 (actually 511). Found a bug in DEPPACK Jibz advised me about a while
  274.   ago. Let's debug it once again. Fixed. Let's make a major test of
  275.   everything. Ooopss!! First file tested: new bug found. This one crashes
  276.   the system, for both brand-new DEPPACK and DEPPTINY. Seems to happen when
  277.   saving last part. Let's debug it again. Ok, fixed too.
  278.  
  279. 25-03-99    Thursday >
  280.         Send everything... Some files were corrupted, and I'm told that
  281.   current version is 0.22 instead of 0.21. Make the changes and resend it
  282.   all.
  283.  
  284. 26-03-99    Friday
  285.         It seems that a really strange bug now happens only under DOS and
  286.   not under Windows, corrupting last part of a big test file. This version
  287.   seems doomed.
  288.  
  289.  6-04-99    Tuesday
  290.         3 more bytes from DEPPACK has been removed. Tomorrow I'll send it
  291.  
  292. 27-04-99    Tuesday >
  293.         Send DEPPACK and DEPPTINY to aPACK mail-list to see if someone
  294.   knows what is happening.
  295.  
  296. 26-05-99  > Wednesday
  297.         aPLib 0.22b has finally been released. As it happened with 0.20,
  298.   some files aren't updated. Jibz didn't respond about the strange bug when
  299.   I asked him information in the mail-list, and there's no reference about
  300.   it in the release. Maybe it wasn't DEPPACK problem after all. Tomorrow
  301.   I'll send him newer versions of updated files.
  302.  
  303. 28-05-99  > Friday >
  304.         I've finally sent the updated files, and a silent update with those
  305.   files has been made in Jibz's homepage.
  306.  
  307.  1-06-99  > Tuesday
  308.         Oleg Prokhorov has found the famous bug. Microsoft fault, because:
  309.   wasn't DOS supposed to be a 16 bit O.S.? Then why the hell is it
  310.   corrupting the high part of eax when calling an API function? The fix
  311.   cost 2 bytes for each version, so it makes DEPPTINY grow to 513 (arg!).
  312.  
  313.  3-06-99    Thursday
  314.         I think we should sacrifice again the cld intruction in DEPPTINY
  315.   to keep it in 512
  316.  
  317. 13-07-99    Tuesday
  318.         I've found 2 small mistakes in the files I sent for the updated
  319.   version. DEPACK16.NAS claims to be v0.21b, and DEPACK16.ASM has a
  320.   "adc ecx, ecx" instead the "adc cx,cx" it should have. (So TASM users
  321.   get a 1 byte bigger version than NASM ones). Removed 8 bytes from
  322.   DEPPACK. Now it's 954/878 bytes long.
  323.  
  324. 15-07-99    Thursday >
  325.         Send everything
  326.  
  327. 20-07-99  > Tuesday
  328.         Jibz has managed to cut 11 bytes from DEPPTINY!!!! Of course cld
  329.   is welcomed again, leaving it in 502.
  330.  
  331. 25-07-99    Sunday
  332.         Ported Jibz's last optimizations to DEPPACK (941/873) and source
  333.   codes, and added back the missing bad infile test to DEPPTINY (506).
  334.   Oops! I changed the wrong "adc ecx,ecx" to "adc cx,cx", fixed. Tomorrow
  335.   I'll send it.
  336.  
  337.  2-09-99    Thursday
  338.         Removed 1 byte from DEPPACK (940/872)
  339.  
  340. 22-11-99    Monday
  341.         3 bytes removed from DEPPTINY (503: Getting near the 500 barrier...)
  342.   and DEPPACK (937/833 -> Using Chut's 4C, algorithm 02).
  343.  
  344. 24-11-99    Thursday
  345.         The new 4C-02 v1.01 leaves DEPPACK at 832.
  346.  
  347. 28-11-99    Monday
  348.         The updated 16 bit depackers finally appear at Jibz's homepage.
  349.  
  350. 29-02-00    Tuesday
  351.         Removed 2 more bytes from DEPPTINY (501) and DEPPACK (935/827 ->
  352.   Using Chut's 4C-02 version 1.00 alpha). Start commenting DEPPTINY a bit
  353.   more...
  354.  
  355.  2-03-00    Thrusday
  356.         Removed another byte from both (500, 934/826).
  357.  
  358.  4-03-00    Saturday
  359.         And one more (499!, 933/826). I'm thinking about performing a
  360.   memory test to check you actually have those 162K needed to run the
  361.   programs. I guess 13 bytes are more than enough for DEPPTINY.
  362.  
  363. 10-03-00    Friday
  364.         Removed 2 more bytes from both again (497,931/822).
  365.  
  366.  3-04-00    Monday
  367.         Removed 2 VERY evident do-nothing bytes from DEPPACK (929/821).
  368.  
  369.  4-04-00    Tuesday >
  370.         Added memory check (7 bytes for DEPPTINY (504), 29 for DEPPACK
  371.   (962/848)). Continue adding comments to DEPPTINY... and put'em in DEPPACK
  372.   too. Now I feel it's small, safe and clear enough to raise the version to
  373.   v0.9 (nearly perfect?).
  374.  
  375.  5-04-00  > Wednesday
  376.         Jibz cutted 2 bytes from core, and 6 more from DEPPACK's syntax
  377.   text, leaving sizes of 502 for DEPPTINY and 954/841 for DEPPACK. Also,
  378.   APLIB's version number has been increased to v0.26b.
  379.